package sunyu.kit.common;

import org.slf4j.Logger;

import java.util.*;

/**
 * 集合工具类
 *
 * @author 孙宇
 */
public class ArrayKit {

    private static final Logger logger = LogKit.getLogger();

    /**
     * 将一个集合切割成多个
     *
     * @param list     集合列表
     * @param pageSize 切割后的子集合大小
     * @return
     */
    public static List<List> splitArray(Collection list,
                                        long pageSize) {
        List<List> newList = new ArrayList<List>();
        long total = 0;
        for (Object obj : list) {
            if (total % pageSize == 0) {
                newList.add(new ArrayList());
            }
            newList.get(newList.size() - 1).add(obj);
            total++;
        }
        return newList;
    }

    /**
     * 将一个集合切割成多个
     *
     * @param list
     * @param pageSize
     * @return
     */
    public static List<List> splitArray(Object[] list,
                                        long pageSize) {
        return splitArray(Arrays.asList(list), pageSize);
    }

    /**
     * 集合翻转
     *
     * @param list
     * @return
     */
    public static List reverse(List list) {
        Collections.reverse(list);
        return list;
    }

}
